# 使用官方 Node.js 镜像作为基础（推荐 alpine 版本，体积更小）
FROM node:22-alpine

RUN npm config set registry https://registry.npmmirror.com
ENV PNPM_HOME=/pnpm
ENV PATH="$PNPM_HOME:$PATH"
RUN npm install -g pnpm
# 设置工作目录（容器内路径）
WORKDIR /app

# 先复制锁文件
COPY package*.json pnpm-lock.yaml* ./

# 安装依赖
RUN pnpm install --production
RUN pnpm install pm2 -g

# 复制源代码
COPY . .

# 生成 Prisma 客户端
RUN npx prisma generate

# 暴露服务端口（与 Node.js 服务监听的端口一致）
EXPOSE 3003

# 移除构建时的数据库迁移命令，改为启动时执行
CMD ["sh", "-c", "pm2-runtime start ecosystem.config.js"]
